package cliente.pagina.contenido.ExamenAutoexamen.Docente;

import helpers.examenAutoexamen.HelperExamenAutoexamen;
import comun.constantes.CARPETAS_ARCHIVOS_RECURSO;
import comun.constantes.PARAMETROS_PAGINAS;
import comun.constantes.RECURSOS;
import comun.constantes.TEXTOS;
import comun.constantes.TIPO_PERMISOS;
import cliente.pagina.Pagina;
import cliente.pagina.contenido.VistaContenido;

public class ContenidoEstadisticasExamen extends VistaContenido  {
	
	public ContenidoEstadisticasExamen() {
	}
	
	public ContenidoEstadisticasExamen(Pagina pagina) {
		super(pagina);
		this.setPermisoEscritura(this.getPagina().obtenerPermisoRecurso(this.getNombreRecurso()).compareTo(TIPO_PERMISOS.ESCRITURA)==0);
	}
	
	protected String getSubcarpetaRecurso() {
		return CARPETAS_ARCHIVOS_RECURSO.EVALUACIONES+"/";
	}
	
	public String getNombreRecurso() {
		return  RECURSOS.GESTION_EXAMEN;
	}
	
	public String getHTMLVista() {
		String html="";
		HelperExamenAutoexamen helperEA = new HelperExamenAutoexamen(this.getPagina());
		try{
			Long idEx=null;
			String idEval = this.getPagina().getParameter(PARAMETROS_PAGINAS.ID_EVALUACION);
			if(idEval!=null) idEx=new Long(idEval);
			boolean rehacer=false;
			String aRehacer=this.getPagina().getParameter("permitirRehacer");
			if(aRehacer!=null && aRehacer.compareTo("true")==0){
				rehacer=true;
			}
			String reasigna=this.getPagina().getParameter("Reasignacion");
			if(reasigna!=null && reasigna.compareTo("si")==0){
				procesarReasignacion(idEx);
			}
			html+="       <h1>"+this.getTitulo()+"</h1>\n";
			html+=helperEA.getHTMLEstadisticasExamen(idEx,rehacer);
			html+=helperEA.getHTMLVolverGestionDocente("Examenes"); 
			helperEA.commit();
		}catch(Exception ex){
			ex.printStackTrace();
			helperEA.rollback();
			return  comun.MensajeDeError.ERROR_EN_LA_GENERACION_DE_LA_PAGINA;
		}
		return html;
	}
	
	protected void procesarReasignacion(Long idExamen) throws Exception {
		HelperExamenAutoexamen helperExA = new HelperExamenAutoexamen(this.getPagina());
		try{
			String idAlumno=this.getPagina().getParameter(PARAMETROS_PAGINAS.ID_ALUMNO);
			String prorroga=this.getPagina().getParameter("prorroga");
			helperExA.procesarReasignacionExamen(idExamen,new Long(idAlumno),prorroga);
			helperExA.commit();
			}catch(Exception ex){
				ex.printStackTrace();
				helperExA.rollback();
				throw ex;
			}
	}
	
	public String getTitulo() {
		String aRehacer=this.getPagina().getParameter("permitirRehacer");
		if(aRehacer!=null && aRehacer.compareTo("true")==0)
			return TEXTOS.REASIGNAR_EXAMEN;
		else
		return TEXTOS.NOTAS_EXAMEN;
	}
	
	protected String getNombrePagina() {
		return "estadisticas.jsp";
	}
	
	public String getTituloLink() {
		return ">Estadisticas examenes";
	}
	
	public String getTeclaAccesoRapido() {
		// TODO Auto-generated method stub
		return "";
	}
	
}
